package mx.ipn.escom.redes.gestionarprocesos.dao;

import java.util.List;

import javax.inject.Named;
import javax.inject.Singleton;

import mx.ipn.escom.redes.equipo.model.Proceso;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

@Singleton
@Named("procesoDao")
public class ProcesoDao extends HibernateDaoSupport {

	public List<Proceso> findAll(){
		return getHibernateTemplate().loadAll(Proceso.class);
	}
	
	public Proceso findById(Integer id){
		return getHibernateTemplate().get(Proceso.class, id);
	}
	
	public List<Proceso> findByExample(Proceso entidad){
		return getHibernateTemplate().findByExample(entidad);
	}
	
	public Proceso save(Proceso entidad){
		Proceso entidadAux = (Proceso) getHibernateTemplate().merge(entidad);
		getHibernateTemplate().save(entidadAux);
		return entidadAux;
	}
	
	public Proceso update(Proceso entidad){
		Proceso entidadAux = (Proceso) getHibernateTemplate().merge(entidad);
		getHibernateTemplate().update(entidadAux);
		return entidadAux;
	}
	
	public Proceso delete(Proceso entidad){
		Proceso entidadAux = (Proceso) getHibernateTemplate().merge(entidad);
		getHibernateTemplate().refresh(entidadAux);
		getHibernateTemplate().merge(entidadAux);
		return entidadAux;
	}
}
